/**
 * 
 */
package com.lanswon.qzsmk.service.cardManageService;

import java.io.File;

import com.lanswon.qzsmk.base.DwzPage;
import com.lanswon.qzsmk.exception.ApplicationException;
import com.lanswon.qzsmk.model.Cert;
import com.lanswon.qzsmk.model.SingleSellCardView;
import com.lanswon.qzsmk.vo.ReadCardVo;
import com.lanswon.qzsmk.vo.SellCardVo;
import com.lanswon.qzsmk.vo.VoucherVo;

/**
 * 售卡
 * @author sun
 *
 */

public interface SellCardService {

	
	/**
	 * 批量-查询批次信息
	 * @param scv
	 * @return
	 */
	DwzPage<SellCardVo> queryBatchSellCard(SellCardVo scv);
	
	/**
	 * 批量-发卡
	 * @param scv
	 * @return
	 */
	Cert commitBatchSellCardInfo(SellCardVo scv);
	
	/**
	 * 批量发卡时下载文件
	 * @param root
	 * @return
	 */
	File downloadSellCard(String root,String applyBatchNO,String corpName);
	
	/**
	 * 单笔-查询信息
	 * @param scv
	 * @return
	 */
	DwzPage<SingleSellCardView> querySingleSellCard(SellCardVo scv);
	
	/**
	 * 单笔-发卡
	 * @param scv
	 * @return
	 * @throws ApplicationException 
	 */
	VoucherVo commitSingleSellCardInfo(SellCardVo scv) throws ApplicationException;
	
	/**
	 * 查询基本信息
	 * @param scv
	 * @return 提交页面显示信息
	 */
	SellCardVo showBaseInfo(SellCardVo scv);
	
	/**
	 * 不记名售卡
	 * @param scv
	 * @return
	 * @throws ApplicationException 
	 */
	VoucherVo commitSingleSellCardInfo_Anonymous(SellCardVo scv) throws ApplicationException;
	
	/**
	 * 根据市民卡号获取卡数据
	 * @param scv
	 * @return
	 * @throws ApplicationException 
	 */
	ReadCardVo queryCardDataByCitizenCardNo(String citizenCardNo) throws ApplicationException;
}
